package com.ruoyi.workSafetyStandardization.service;

import java.util.List;

import com.ruoyi.workSafetyStandardization.domain.MajorConfig;

/**
 * 专业配置Service接口
 *
 * @author pengjie
 * @date 2023-12-14
 */
public interface IMajorConfigService
{
    /**
     * 预览专业配置
     *
     * @param majorId 专业配置主键
     * @return 专业配置
     */
    public MajorConfig selectMajorConfigByMajorId(String majorId);

    /**
     * 查询专业关键字
     *
     * @param majorName 专业名称
     * @return 专业配置集合
     */
    public List<MajorConfig> selectMajorConfigBymajorName(String majorName);

    /**
     * 查询专业配置列表
     *
     * @param majorConfig 专业配置
     * @return 专业配置集合
     */
    public List<MajorConfig> selectMajorConfigList(MajorConfig majorConfig);

    public List<MajorConfig> selectMajorConfigListTree(MajorConfig majorConfig);


    /**
     * 新增专业配置
     *
     * @param majorConfig 专业配置
     * @return 结果
     */
    public int insertMajorConfig(MajorConfig majorConfig);

    /**
     * 修改专业配置
     *
     * @param majorConfig 专业配置
     * @return 结果
     */
    public int updateMajorConfig(MajorConfig majorConfig);

    /**
     * 批量删除专业配置
     *
     * @param majorIds 需要删除的专业配置主键集合
     * @return 结果
     */
    public int deleteMajorConfigByMajorIds(String[] majorIds);

    /**
     * 删除专业配置信息
     *
     * @param majorId 专业配置主键
     * @return 结果
     */
    public int deleteMajorConfigByMajorId(String majorId);


    /**
     * 查询专业tree
     * @param list 专业配置集合
     * @return 专业配置集合（包含子专业）
     */
    List<MajorConfig> queryChildrenMajor(List<MajorConfig> list);


    /**
     * 查询所有专业
     * @param
     * @return
     */
    List<MajorConfig> queryAll();

    /**
     * 子专业
     * @param
     * @return
     */
    List<MajorConfig> queryMajorConfigByparentId(String parentId);
}
